Today, communications networks, represented by the Internet, have become widespread in society. Thus, various services have started to be provided, by using servers, to users of terminal devices as clients connected to such communications networks.
A server for providing services generates sessions based on messages received from terminal devices, and provides services to the users of such terminal devices. This session corresponds to units in which servers provide services to one terminal device. A server that has generated this session inserts an identifier for identifying the generated session into a message as a response to the terminal device and sends the message. After that, the terminal device that has received the message into which the identifier has been inserted transmits, to the server, a message into which that the identifier has been inserted. Thereby, the server can continue to provide services on the basis of the identifier in the message received from the terminal device.
Services to be provided through communications networks are usually based on an assumption that many people use those services. The more users there are, the greater the load a server receives. Accordingly, a service provider prepares plural servers so as to employ a system configuration by which load distribution is performed so that the user of a terminal device is assigned one of such servers to get services. This load distribution is usually performed by using an SLB (Server Load Balancer).
An SLB stores relationships between identifiers and servers for holding sessions to which those identifiers are assigned. Thereby, having received a message into which an identifier is inserted from a terminal device, an SLB confirms whether it holds a relationship having that identifier, and determines the sorting destination of the message on the basis of the confirmation result. When the relationship having the identifier is held, the determined sorting destination is the server specified by the relationship, and when a relationship having the identifier is not held, the destination is a server selected by the autonomous sorting algorithm, such as a round-robin algorithm or the like. By determining a sorting destination as described above, an SLB realizes the uniqueness guarantee, by which related messages transmitted from the same terminal device are sorted to the same server. The function that realizes this uniqueness guarantee is referred to as a uniqueness guarantee function (or a session maintaining function). Relationships used in realizing this uniqueness guarantee are referred to as “uniqueness guarantee information” hereinafter. Messages sorted by an autonomous sorting algorithm, i.e., messages as triggers for the server to generate sessions, are referred to as “initial messages” hereinafter.
In recent years, mobile phones have been realizing many functions, and many of them can be used as terminal devices. Personal computers (PCs) have been becoming inexpensive, and there are many cases where a single person owns plural PCs. In this situation, many users can use more than one terminal device.
When a user uses a service while changing terminal devices, the message transmitted first from each terminal device is processed by the server as the initial message. When the initial messages are processed as above, the service that has been used by one terminal device cannot be continuously used by another terminal device. However, users sometimes desire to continue to use the same service while changing from one terminal device to another terminal device (between plural terminal devices). For example, when a user is receiving a service of distributing videos and the user has changed terminal devices, that user sometimes desires to continue to view only portions of the video that the user has not viewed yet. In this situation today, a technique by which the same service can be continuously used via different terminal devices has been developed. This technique is referred to as a “service continuation technique” hereinafter.
As examples of conventional service continuation techniques, there are techniques disclosed in Japanese Laid-open Patent Publication No. 2006-191617 (hereinafter, document 1) and Japanese Laid-open Patent Publication No. 2008-102940 (hereinafter, document 2). In the conventional service continuation technique disclosed in Patent Document 1, a device dedicated to realizing service continuation is prepared, and information about sessions (session information) is recorded in that dedicated device. By using the recorded session information, it is made possible to continue the service in another terminal device. In this manner, the dedicated device is used for permitting different terminal devices to have session information in common. The dedicated device performs communications with terminal devices so as to acquire, update, or provide session information.
In the conventional service continuation technique disclosed in Patent Document 2, a server that provides services receives identification information (user ID) input to a terminal device by a user, and determines whether there is an existing session that relates to the information. The server generates a new session or relates the information to an existing session again in accordance with the determination result. By relating the information to an existing session again, the user can continuously use the service through a different terminal device.
Preparation of a dedicated device increases the cost for providing services, or increases the financial burden on users. In addition, terminal devices (or programs executed by such terminal devices) have to be compatible with the dedicated devices. To obtain this compatibility, users of terminal devices are forced to perform complicated operations and the like. Because of this, the conventional service continuation technique in Patent Document 1 is not desirable.
According to the conventional service continuation technique in Patent Document 2, an increase in cost and financial burden on users can be suppressed. However, servers have to extract related sessions from among existing sessions in response to the reception of identification information. This increases the load on the servers. This increase in load leads to a deterioration in the quality of services, or an increase in the number of servers required. The more users there are, the more serious the load increase becomes. Services provided through communications networks are assumed to be used by many people. Thus, it is desirable to suppress the load on a server.
As described above, when a system is assumed to be used by many people, the service provider side usually prepares plural servers so as to employ a system configuration in which an SLB automatically sorts messages. The conventional service continuation technique disclosed in Patent Document 2 cannot be compatible with the above system configuration because an SLB for automatically sorting messages cannot identify the server to transmit a message to on the basis of identification information (user ID) input by users. Because of this, it is important, in continuous use of a service by different terminal devices, to be able to be compatible with a system configuration that uses an SLB, i.e., the automatic sorting of messages, in addition to suppression of an increase in the load on the servers.